/**
 * 
 */
package ec.edu.uce.erp.ejb.servicio;

import java.util.List;

import javax.ejb.Local;

import ec.edu.uce.erp.common.util.SeguridadesException;
import ec.edu.uce.erp.ejb.persistence.entities.CompaniaDTO;
import ec.edu.uce.erp.ejb.persistence.entities.ModuloDTO;
import ec.edu.uce.erp.ejb.persistence.entities.PerfilDTO;
import ec.edu.uce.erp.ejb.persistence.entities.UsuarioDTO;

/**
 * @author
 *
 */
@Local
public interface ServicioAdministracion {
	
	/*
	 * servicios para administrar las companias
	 */
	
	/**
	 * Registrar una compania
	 * @param companiaDTO
	 * @return
	 * @throws SeguridadesException
	 */
	CompaniaDTO registrarCompania (CompaniaDTO companiaDTO) throws SeguridadesException;
	
	/**
	 * Actualizar una compania
	 * @param companiaDTO
	 * @return
	 * @throws SeguridadesException
	 */
	CompaniaDTO actualizarCompania (CompaniaDTO companiaDTO) throws SeguridadesException;
	
	/**
	 * Buscar companias por criterios
	 * @param companiaDTO
	 * @return
	 * @throws SeguridadesException
	 */
	List<CompaniaDTO> buscarCompania (CompaniaDTO companiaDTO) throws SeguridadesException;
	
	/*
	 * servicios para administrar las modulos
	 */
	/**
	 * Registrar modulo
	 * @param moduloDTO
	 * @return
	 * @throws SeguridadesException
	 */
	ModuloDTO registrarModulo (ModuloDTO moduloDTO) throws SeguridadesException;
	
	/*
	 * servicios para administrar las perfiles
	 */
	/**
	 * Buscar <code>PerfilDTO</code> por criterios
	 * @param perfilDTO
	 * @return
	 * @throws SeguridadesException
	 */
	List<PerfilDTO> buscarPerfiles (PerfilDTO perfilDTO) throws SeguridadesException;
	
	/*
	 * servicios para administrar usuarios
	 */
	/**
	 * Registrar usuario
	 * @param usuarioDTO
	 * @return
	 * @throws SeguridadesException
	 */
	UsuarioDTO registrarUsuario (UsuarioDTO usuarioDTO) throws SeguridadesException;

}
